1. Field of the Invention
The present invention relates generally to data processing systems and in particular to booting a computer in a data processing system. Still more particularly, the present invention relates to a computer implemented method, apparatus, and computer program code for booting a computer using a boot list.
2. Description of the Related Art
Firmware in a computer is used to load software, in the form of a boot image, into the computer. The firmware is stored in non-volatile memory in the computer. Non-volatile memory is memory in which the contents of the memory survive when there power to the computer is shut-off. Usually, a boot list is also stored in non-volatile memory. The boot list contains paths to devices. The firmware searches each storage device referenced by a path in the boot list for a boot image. Once the firmware finds a boot image, the firmware loads the boot image into the computer.
In specific situations, the non-volatile memory may not contain a boot list. For example, when a firmware upgrade is performed, new firmware is loaded into the non-volatile memory, and the boot list may be deleted as part of the firmware upgrade. Another example of a situation in which the non-volatile memory may not contain a boot list occurs when a user manually deletes the boot list.
When non-volatile memory in a computer does not contain a boot list, firmware in the computer creates a boot list. To create a boot list, the firmware identifies each storage device connected to the computer, and searches each storage device connected to the computer for a boot image. When many storage devices are connected to the computer, or when each storage device is large, creating a boot list may take a long time, significantly delaying the boot up of the computer.